<?php
namespace ThirdPay;

class Tools
{

	/****加密方法******/
	public static function encryptData($params,$privateKey) {
		ksort($params);
		$privateWorker = new KeyWorker($privateKey ,KeyFormat::ASN);
		$data = $privateWorker->encrypt(json_encode($params));
		return $data;
	}
	
	/****解密方法******/
	public static function decryptData($params,$publicKey)
	{
		$publicWorker = new KeyWorker($publicKey ,KeyFormat::ASN);
		$data = $publicWorker->decrypt($params);
		return $data;
	}

	public static function get_client_ip(){
		if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'),'unknown')) {

			$ip = getenv('HTTP_CLIENT_IP');

		} elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'),'unknown')) {

			$ip = getenv('HTTP_X_FORWARDED_FOR');

		} elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'),'unknown')) {

			$ip = getenv('REMOTE_ADDR');

		} elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {

			$ip = $_SERVER['REMOTE_ADDR'];

		}

		return preg_match ( '/[\d\.]{7,15}/', $ip, $matches ) ? $matches [0] : '';
	}
}